// MultiSet.cpp : This file contains the 'main' function. Program execution begins and ends there.
//

#include <iostream>
#include"MultiSetTest.h"
#include"SetTest.h"
#include"UnOrderedMultiSetTest.h"

/*
* MultiSet / Set:
*           n1
*     n2            n3
* n4     n5      n6     n7
* 
* 关联存储, 红黑树实现, 查找时效率很高, 但是插入数据很慢
* multiset 会将重复的元素继续放入
* set 重复元素不会继续放入
* 
* UnOrderedMultiSet:
* ___
* |__|->...
* |__|
* |__|->...
* |__|
* |__|-> -> ...
* |..|
* 
* 无序多重集合, 实现方式为hash表(链地址法)  (README.md)
* 一个bucket的链表不能太长, 链表太长会导致查询变慢
* ∴ 当元素个数大于bucket时, bucket会增加, 变成原先的两倍, 并且将所有元素重新打散放入bucket中
*/

int main()
{
    //tTest_MultiSet();
    tTest_Set();
    //tTest_UnOrderedMultiSet();
}

// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu

// Tips for Getting Started: 
//   1. Use the Solution Explorer window to add/manage files
//   2. Use the Team Explorer window to connect to source control
//   3. Use the Output window to see build output and other messages
//   4. Use the Error List window to view errors
//   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
//   6. In the future, to open this project again, go to File > Open > Project and select the .sln file
